home *** CD-ROM | disk | FTP | other *** search
/ Champak 119 / (Vol 119) Nov 09 2010.iso / TGKI-109 / Games / need_for_speed_challenge.swf / scripts / frame_1 / DoAction.as < prev   
Text File  |  2010-11-09  |  12KB  |  489 lines

  1. function drawGame()
  2. {
  3.    rpmMeter.gotoAndStop(Math.round(rpm / 600) + 1);
  4.    nosMeter.gotoAndStop(nos / 100);
  5.    knobMovie.gotoAndStop(gear + 1);
  6.    x = 1;
  7.    while(x < 21)
  8.    {
  9.       tracks[x]._x = position * -12 + 349 * (x - 1);
  10.       x++;
  11.    }
  12.    sixtyFtMarker._x = 373.25 + position * -12;
  13.    threeThirtyMarker._x = 1408 + position * -12;
  14.    eightMarker._x = 2680 + position * -12;
  15.    quarterMileMarker._x = 5210 + position * -12;
  16.    startLine._x = 148 + position * -12;
  17.    car._x = position / 2 + 88;
  18.    car.rims._rotation = position * 30;
  19.    car.rims2._rotation = position * 30;
  20.    car.rimBlur._alpha = mph;
  21.    car.rimBlur2._alpha = mph;
  22.    cityBlur._x = position * -2 + 225;
  23.    notBlur._x = position * -2 + 225;
  24.    cityBlur._alpha = mph;
  25.    car.carBlur._alpha = mph - 60;
  26.    if(gasPosition == "DOWN")
  27.    {
  28.       gasPedal.gotoAndStop(2);
  29.    }
  30.    else
  31.    {
  32.       gasPedal.gotoAndStop(1);
  33.    }
  34.    if(nosDown)
  35.    {
  36.       if(0 < nos)
  37.       {
  38.          car.nosFlame._visible = true;
  39.       }
  40.       else
  41.       {
  42.          car.nosFlame._visible = false;
  43.       }
  44.    }
  45.    else
  46.    {
  47.       car.nosFlame._visible = false;
  48.    }
  49.    if(timeInit.raceTime)
  50.    {
  51.       bgBlur._alpha = 0;
  52.    }
  53.    else
  54.    {
  55.       bgBlur._alpha = mph;
  56.    }
  57.    if(100 < position)
  58.    {
  59.       bgMovie.gotoAndStop(2);
  60.    }
  61.    if(200 < position)
  62.    {
  63.       bgMovie.gotoAndStop(3);
  64.    }
  65.    if(300 < position)
  66.    {
  67.       bgMovie.gotoAndStop(4);
  68.    }
  69. }
  70. function doSound()
  71. {
  72.    if(6000 < runningSound.position)
  73.    {
  74.       runningSound.stop();
  75.       runningSound.start();
  76.    }
  77.    if(gasPosition == "DOWN" and position == 0 and revUpSoundPlaying == false)
  78.    {
  79.       revDownSound.stop();
  80.       revUpSound.stop();
  81.       revUpsound.start();
  82.       revUpSoundPlaying = true;
  83.    }
  84.    if(revUpSound.position == 1600 or gasPosition == "UP")
  85.    {
  86.       revUpSoundPlaying = false;
  87.    }
  88.    if(gasPosition == "UP" and position == 0 and revDownSoundPlaying == false)
  89.    {
  90.       revUpSound.stop();
  91.       revDownSound.stop();
  92.       revDownsound.start();
  93.       revDownSoundPlaying = true;
  94.    }
  95.    if(revDownSound.position == 1600 or gasPosition == "DOWN")
  96.    {
  97.       revDownSoundPlaying = false;
  98.    }
  99.    if(0 < position)
  100.    {
  101.       revDownSound.stop();
  102.       revUpSound.stop();
  103.    }
  104.    if(0 < position && burnOutSoundPlaying == false)
  105.    {
  106.       burnOutSound.start();
  107.       burnOutSoundPlaying = true;
  108.    }
  109.    if(0 < burnOutSound.position)
  110.    {
  111.       burnOutSound.setVolume -= 1;
  112.    }
  113.    runningSound.setVolume(rpm / 60);
  114. }
  115. function doScore()
  116. {
  117.    x = 0;
  118.    while(dataHandler.dbRows >= x)
  119.    {
  120.       bestTimes["name" + x] = dataHandler["name" + x];
  121.       bestTimes["hiScore" + x] = dataHandler["hiScore" + x];
  122.       if(dataHandler["hiScore" + x] >= timeInit.raceTime)
  123.       {
  124.          if(dataHandler["hiScore" + highestScore] < dataHandler["hiScore" + x])
  125.          {
  126.             highestScore = x;
  127.          }
  128.       }
  129.       x++;
  130.    }
  131.    scoreMovie.hiScore1 = dataHandler.hiScore1;
  132.    scoreMovie.name1 = dataHandler.name1;
  133.    hiScoreRow = dataHandler["id" + highestScore];
  134.    hiScoreTime = dataHandler["hiScore" + highestScore];
  135. }
  136. function deInit()
  137. {
  138.    emailPrompt = "ENTER EMAIL ADDRESS";
  139.    greenLight = false;
  140.    bg2.gotoAndPlay(2);
  141.    mph = 0;
  142.    car.nosFlame._visible = false;
  143.    if(timeInit.raceTime < hiScoreTime)
  144.    {
  145.       topTen.gotoAndPlay(2);
  146.    }
  147.    else
  148.    {
  149.       topHundred.gotoAndPlay(2);
  150.    }
  151.    glowMovie.gotoAndPlay(2);
  152. }
  153. function getInput()
  154. {
  155.    if(Key.isDown(66))
  156.    {
  157.       brakesForce = -10000;
  158.    }
  159.    else
  160.    {
  161.       brakesForce = 0;
  162.    }
  163.    if(Key.isDown(32))
  164.    {
  165.       gasPosition = "DOWN";
  166.    }
  167.    else
  168.    {
  169.       gasPosition = "UP";
  170.    }
  171.    if(canGear && Key.isDown(40) && gear < 6 && greenLight)
  172.    {
  173.       gear++;
  174.       rpm = wheelRate * gearRatio[gear] * differential * 60 / 2 / 3.14;
  175.       runningSound.stop();
  176.       runningSound.start(1,0);
  177.    }
  178.    if(canGear && Key.isDown(38) && 0 < gear && greenLight)
  179.    {
  180.       gear--;
  181.       rpm = wheelRate * gearRatio[gear] * differential * 60 / 2 / 3.14;
  182.    }
  183.    if(Key.isDown(40) || Key.isDown(38))
  184.    {
  185.       canGear = false;
  186.    }
  187.    else
  188.    {
  189.       canGear = true;
  190.    }
  191.    if(Key.isDown(78) && greenLight)
  192.    {
  193.       nosDown = true;
  194.    }
  195.    else
  196.    {
  197.       nosDown = false;
  198.    }
  199. }
  200. function gameClock()
  201. {
  202.    timeMilliseconds = getTimer() - startTime;
  203. }
  204. function initGame()
  205. {
  206.    burnOutSoundPlaying = false;
  207.    revUpSound.setVolume(60);
  208.    revDownSound.setVolume(60);
  209.    runningSound.stop();
  210.    emailPrompt = "ENTER EMAIL ADDRESS";
  211.    glowMovie.gotoAndStop(1);
  212.    if(rules.animating == true)
  213.    {
  214.       rules.gotoAndPlay(11);
  215.    }
  216.    bgMovie.gotoAndStop(2);
  217.    bgBlur._alpha = 0;
  218.    car.nosFlame._visible = false;
  219.    car.carBlur._alpha = 0;
  220.    cityBlur._alpha = 0;
  221.    hiScoreFlag = false;
  222.    scoreWindow.gotoAndPlay(1);
  223.    bg2.gotoAndStop(1);
  224.    greenLight = false;
  225.    timeInit.gotoAndStop(1);
  226.    timeInit._visible = true;
  227.    startTime = getTimer();
  228.    timeFormatted = 0;
  229.    timeMilliseconds = 0;
  230.    velocity = 0;
  231.    acceleration = 0;
  232.    rpm = 0;
  233.    mph = 0;
  234.    brakesForce = 0;
  235.    timeInit.raceTime = 0;
  236.    position = 0;
  237.    gear = 0;
  238.    raceTimer._visible = false;
  239.    car._x = position + 88;
  240.    car.rimBlur._alpha = 0;
  241.    bg2.trapSpeed = 0;
  242.    bg2.sixtyftTime = 0;
  243.    bg2.threethirtyTime = 0;
  244.    bg2.eigthMileTime = 0;
  245.    bg2.quarterMileTime = 0;
  246.    nos = 1600;
  247.    drawGame();
  248.    thisGameScore = 100;
  249. }
  250. function doPhysics()
  251. {
  252.    wheelRate = velocity / wheelRadius;
  253.    gas();
  254.    torque = torqueCurve[Math.round(rpm / 100)] - torqueCurve[Math.round(rpm / 100)] * 0.3;
  255.    if(gasPosition == "DOWN")
  256.    {
  257.       driveForce = torque * gearRatio[gear] * differential * (transEff / wheelRadius);
  258.    }
  259.    else
  260.    {
  261.       driveForce = 0;
  262.    }
  263.    cDrag = 0.5 * cRSXdrag * frontalArea * airDensity;
  264.    dragForce = -1 * cDrag * velocity;
  265.    cRR = cDrag * 30;
  266.    rrForce = -1 * cRR * velocity;
  267.    totalForce = driveForce + rrForce + dragForce + brakesForce;
  268.    if(nosDown == true)
  269.    {
  270.       totalForce += nos / deltaTime;
  271.       if(0 < nos)
  272.       {
  273.          nos -= 10;
  274.       }
  275.    }
  276.    acceleration = totalForce / (carWeight + 100);
  277.    if(0 >= brakesForce && velocity < 0)
  278.    {
  279.       velocity = 0;
  280.    }
  281.    velocity += deltaTime * acceleration / 12;
  282.    position += deltaTime * velocity / 32;
  283. }
  284. function gas()
  285. {
  286.    if(gasPosition == "UP" && 0 < rpm)
  287.    {
  288.       if(gear != 0)
  289.       {
  290.          rpm = wheelRate * gearRatio[gear] * differential * 60 / 2 / 3.14;
  291.       }
  292.       else
  293.       {
  294.          rpm -= 600 * deltaTime;
  295.       }
  296.    }
  297.    if(gasPosition == "DOWN")
  298.    {
  299.       var _loc1_ = null;
  300.       var _loc0_ = null;
  301.       if(!(typeof (_loc0_ = gear) != typeof (_loc1_ = 0) ? false : _loc0_ == _loc1_))
  302.       {
  303.          if(!(typeof (_loc0_ = gear) != typeof (_loc1_ = 1) ? false : _loc0_ == _loc1_))
  304.          {
  305.             if(!(typeof (_loc0_ = gear) != typeof (_loc1_ = 2) ? false : _loc0_ == _loc1_))
  306.             {
  307.                if(!(typeof (_loc0_ = gear) != typeof (_loc1_ = 3) ? false : _loc0_ == _loc1_))
  308.                {
  309.                   if(!(typeof (_loc0_ = gear) != typeof (_loc1_ = 4) ? false : _loc0_ == _loc1_))
  310.                   {
  311.                      if(!(typeof (_loc0_ = gear) != typeof (_loc1_ = 5) ? false : _loc0_ == _loc1_))
  312.                      {
  313.                         if(!(typeof (_loc0_ = gear) != typeof (_loc1_ = 6) ? false : _loc0_ == _loc1_))
  314.                         {
  315.                            rpm += 50 * deltaTime;
  316.                         }
  317.                         else
  318.                         {
  319.                            rpm += 20 * deltaTime;
  320.                         }
  321.                      }
  322.                      else
  323.                      {
  324.                         rpm += 30 * deltaTime;
  325.                      }
  326.                   }
  327.                   else
  328.                   {
  329.                      rpm += 40 * deltaTime;
  330.                   }
  331.                }
  332.                else
  333.                {
  334.                   rpm += 62 * deltaTime;
  335.                }
  336.             }
  337.             else
  338.             {
  339.                rpm += 85 * deltaTime;
  340.             }
  341.          }
  342.          else
  343.          {
  344.             rpm += 150 * deltaTime;
  345.          }
  346.       }
  347.       else if(7200 < rpm)
  348.       {
  349.          rpm -= 1200 * deltaTime;
  350.       }
  351.       else
  352.       {
  353.          rpm += 600 * deltaTime;
  354.       }
  355.    }
  356.    if(rpm < 0)
  357.    {
  358.       rpm = 0;
  359.    }
  360. }
  361. function formatText()
  362. {
  363.    mph = velocity * 3600 / 1609.344;
  364.    mph = Math.round(mph);
  365.    position = Math.round(position * 100) / 100;
  366.    acceleration = Math.round(acceleration * 100) / 100;
  367.    displacement = Math.round(displacement * 100) / 100;
  368.    velocity = Math.round(velocity * 100) / 100;
  369.    driveForce = Math.round(driveForce * 100) / 100;
  370. }
  371. function mainEntry()
  372. {
  373.    gameClock();
  374.    timeFormatted = timeMilliseconds / 1000;
  375.    if(greenLight && position == 0)
  376.    {
  377.       timeInit._visible = false;
  378.    }
  379.    if(18.288 < position && !bg2.sixtyftTime)
  380.    {
  381.       bg2.sixtyftTime = timeFormatted;
  382.       car.time = timeFormatted;
  383.    }
  384.    if(100.584 < position && !bg2.threethirtyTime)
  385.    {
  386.       bg2.threethirtyTime = timeFormatted;
  387.       car.time = timeFormatted;
  388.    }
  389.    if(201.168 < position && !bg2.eigthMileTime)
  390.    {
  391.       bg2.eigthMileTime = timeFormatted;
  392.       car.time = timeFormatted;
  393.    }
  394.    if(402.366 < position)
  395.    {
  396.       if(!timeInit.raceTime)
  397.       {
  398.          timeInit._visible = true;
  399.          timeInit.gotoAndStop(2);
  400.          timeInit.raceTime = timeFormatted;
  401.          bg2.trapSpeed = mph;
  402.          raceTimer._visible = true;
  403.          bg2.quarterMileTime = timeFormatted;
  404.          car.time = timeFormatted;
  405.          thisGameScore = timeFormatted;
  406.          _root.finishSound.start(0,1);
  407.          _root.runningSound.stop();
  408.       }
  409.       brakesForce = -10000;
  410.       if(0 < rpm)
  411.       {
  412.          rpm -= 200;
  413.       }
  414.       if(mph < 5)
  415.       {
  416.          gotoAndPlay(6);
  417.          rpm = 0;
  418.          mph = 0;
  419.          car.rims._rotation = 90;
  420.          car.rims2._rotation = 90;
  421.       }
  422.    }
  423.    else
  424.    {
  425.       getInput();
  426.    }
  427.    if(30 < timeFormatted)
  428.    {
  429.       gotoAndPlay(2);
  430.       welcomeScreen.gotoAndStop(1);
  431.    }
  432.    doPhysics();
  433.    formatText();
  434.    drawGame();
  435.    doSound();
  436. }
  437. torqueCurve = new Array(0,0,6.8,6.8,13.6,20.4,27.2,33.9,40.7,47.5,54.3,61.1,67.8,74.6,81.4,88.2,95,101.7,108.5,115.3,128.9,135.6,153.3,156,162.8,166.8,169.5,173.6,179,183.1,185.8,189.9,194,196.7,199.4,203.4,206.2,210.2,217,223.8,230.6,237.3,244.1,250.9,257.7,272.6,257.7,250.9,244.1,237.3,240.1,240.1,240.1,238.7,238.7,238.7,241.4,244.1,248.2,250.9,253.6,256.3,259,260.4,261.8,264.5,263.1,261.8,260.4,259,257.7,256.3,255,253.6,253.6,253.6,244.1,242.8,237.3,233.3,230.1,225,215.2,205.2,195.2,185.2,165.2,155.2,145.2,135.2,125.2,115.2,95.2,85.2,75.2,65.2,55.2);
  438. carWeight = 1260;
  439. differential = 4.389;
  440. wheelRadius = 0.4064;
  441. transEff = 0.7;
  442. frontalArea = 2.2;
  443. cRSXDrag = 0.3;
  444. gearRatio = new Array(0,3.267,2.13,1.517,1.147,0.921,0.738);
  445. canGear = true;
  446. mph = 0;
  447. timeMilliseconds = 0;
  448. position = 0;
  449. acceleration = 0;
  450. timeFormatted = 0;
  451. displacement = 0;
  452. startTime = 0;
  453. deltaTime = 0;
  454. timeInit.raceTime = 0;
  455. velocity = 0;
  456. rpm = 0;
  457. angular_velocity = 0;
  458. gear = 0;
  459. driveForce = 0;
  460. torque = 0;
  461. gearRatioDebug = 0;
  462. airDensity = 1.29;
  463. gasPosition;
  464. wheelRate = 0;
  465. bg2.trapSpeed = 0;
  466. bg2.sixtyftTime = 0;
  467. bg2.threethirtyTime = 0;
  468. bg2.eigthMileTime = 0;
  469. bg2.quarterMileTime = 0;
  470. nos = 1600;
  471. nosDown = false;
  472. thisGameScore = 100;
  473. hiScoreFlag = false;
  474. runningSound = new Sound(runningSoundMC);
  475. runningSound.attachSound("runningSound");
  476. finishSound = new Sound(finishSoundMC);
  477. finishSound.attachSound("finishSound");
  478. revUpSound = new Sound(revUpMC);
  479. revUpSound.attachSound("revUpSound");
  480. revDownSound = new Sound(revDownMC);
  481. revDownSound.attachSound("revDownSound");
  482. burnOutSound = new Sound(burnOutMC);
  483. burnOutSound.attachSound("burnOut");
  484. revUpSoundPlaying = false;
  485. revDownSoundPlaying = true;
  486. burnOutSoundPlaying = false;
  487. initGame();
  488. stop();
  489.